home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 9 / AMUG BBS in a Box Volume IX (August 1993) (MacWizards).iso / Files / Prog / S / SortScreen.cpt / SortScreen.asm < prev    next >
MacBinary  |  1988-07-21  |  9.3 KB  |  [TEXT/MPS ]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: SortScreen.asm

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert freeCAD assembly (other/freeCADAssembly) ext Unsupported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Thu Jul 21 11:24:04 1988, modified Thu Jul 21 11:24:04 1988, creator 'MPS ', type ASCII, 8892 bytes "SortScreen.asm" , at 0x233c 382 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MPS ]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0e 53 6f 72 74 53 63 | 72 65 65 6e 2e 61 73 6d |..SortSc|reen.asm|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 01 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 22 bc 00 | 00 01 7e 9f 0b bd 14 9f |....."..|..~.....|
|00000060| 0b bd 14 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 26 82 00 00 |........|....&...|
|00000080| 09 66 74 79 70 65 09 27 | 41 50 50 4c 27 0d 09 66 |.ftype.'|APPL'..f|
|00000090| 73 69 67 6e 09 27 54 65 | 73 54 27 0d 0d 09 69 6e |sign.'Te|sT'...in|
|000000a0| 63 6c 09 22 41 6c 6c 20 | 54 72 61 70 73 2e 50 53 |cl."All |Traps.PS|
|000000b0| 4d 22 0d 0d 53 63 72 65 | 65 6e 52 6f 77 09 65 71 |M"..Scre|enRow.eq|
|000000c0| 75 09 24 31 30 36 0d 0d | 09 61 35 53 65 63 0d 54 |u.$106..|.a5Sec.T|
|000000d0| 68 65 42 6c 6f 63 6b 09 | 64 73 2e 6c 09 31 0d 09 |heBlock.|ds.l.1..|
|000000e0| 61 35 45 6e 64 0d 0d 0d | 3b 2d 2d 2d 2d 2d 2d 2d |a5End...|;-------|
|000000f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000120| 2d 2d 2d 2d 2d 2d 2d 0d | 3b 2d 2d 2d 20 09 09 35 |-------.|;--- ..5|
|00000130| 20 53 6f 72 74 73 20 44 | 65 6d 6f 6e 73 74 72 61 | Sorts D|emonstra|
|00000140| 74 69 6f 6e 0d 3b 2d 2d | 2d 0d 3b 2d 2d 2d 20 09 |tion.;--|-.;--- .|
|00000150| 41 2e 20 49 6e 69 74 69 | 61 6c 69 7a 65 20 74 68 |A. Initi|alize th|
|00000160| 65 20 53 79 73 74 65 6d | 0d 3b 2d 2d 2d 20 09 20 |e System|.;--- . |
|00000170| 20 20 28 4e 6f 74 65 21 | 20 5f 52 61 6e 64 6f 6d | (Note!| _Random|
|00000180| 20 23 27 73 20 61 72 65 | 20 6e 6f 74 20 76 61 6c | #'s are| not val|
|00000190| 69 64 20 62 65 66 6f 72 | 65 20 5f 49 6e 69 74 47 |id befor|e _InitG|
|000001a0| 72 61 66 21 0d 3b 2d 2d | 2d 09 0d 3b 2d 2d 2d 09 |raf!.;--|-..;---.|
|000001b0| 42 2e 20 41 6c 6c 6f 63 | 61 74 65 20 61 20 62 6c |B. Alloc|ate a bl|
|000001c0| 6f 63 6b 20 6f 66 20 4d | 65 6d 6f 72 79 20 61 6e |ock of M|emory an|
|000001d0| 64 20 46 69 6c 6c 20 77 | 69 74 68 20 72 61 6e 64 |d Fill w|ith rand|
|000001e0| 6f 6d 20 23 27 73 0d 3b | 2d 2d 2d 09 09 61 6e 64 |om #'s.;|---..and|
|000001f0| 0d 3b 2d 2d 2d 09 43 2e | 20 53 6f 72 74 20 74 68 |.;---.C.| Sort th|
|00000200| 65 20 62 6c 6f 63 6b 20 | 75 73 69 6e 67 3b 0d 3b |e block |using;.;|
|00000210| 2d 2d 2d 09 20 20 09 31 | 2e 20 42 75 62 62 6c 65 |---. .1|. Bubble|
|00000220| 20 53 6f 72 74 0d 3b 2d | 2d 2d 09 09 32 2e 20 53 | Sort.;-|--..2. S|
|00000230| 65 6c 65 63 74 69 6f 6e | 53 6f 72 74 0d 3b 2d 2d |election|Sort.;--|
|00000240| 2d 09 09 33 2e 20 49 6e | 73 65 72 74 69 6f 6e 53 |-..3. In|sertionS|
|00000250| 6f 72 74 0d 3b 2d 2d 2d | 09 09 34 2e 20 53 68 65 |ort.;---|..4. She|
|00000260| 6c 6c 53 6f 72 74 0d 3b | 2d 2d 2d 09 09 35 2e 20 |llSort.;|---..5. |
|00000270| 51 75 69 63 6b 53 6f 72 | 74 0d 3b 2d 2d 2d 2d 2d |QuickSor|t.;-----|
|00000280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000290| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002b0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 3b 2d 2d 2d 09 09 54 |--------|.;---..T|
|000002c0| 68 65 73 65 20 61 72 65 | 20 74 68 65 20 52 75 6c |hese are| the Rul|
|000002d0| 65 73 0d 3b 2d 2d 2d 09 | 31 2e 20 45 61 63 68 20 |es.;---.|1. Each |
|000002e0| 65 6c 65 6d 65 6e 74 20 | 69 6e 20 74 68 65 20 62 |element |in the b|
|000002f0| 6c 6f 63 6b 20 69 73 20 | 61 20 57 4f 52 44 20 69 |lock is |a WORD i|
|00000300| 6e 20 6c 65 6e 67 74 68 | 0d 3b 2d 2d 2d 09 32 2e |n length|.;---.2.|
|00000310| 20 54 68 65 20 6e 75 6d | 62 65 72 20 24 46 41 43 | The num|ber $FAC|
|00000320| 45 20 69 73 20 70 6c 61 | 63 65 64 20 61 74 20 74 |E is pla|ced at t|
|00000330| 68 65 20 65 6e 64 0d 3b | 2d 2d 2d 09 20 20 20 6f |he end.;|---. o|
|00000340| 66 20 74 68 65 20 62 6c | 6f 63 6b 20 61 73 20 61 |f the bl|ock as a|
|00000350| 20 6d 61 72 6b 65 72 20 | 28 64 65 62 75 67 67 69 | marker |(debuggi|
|00000360| 6e 67 29 0d 3b 2d 2d 2d | 09 33 2e 20 4e 20 69 73 |ng).;---|.3. N is|
|00000370| 20 74 68 65 20 6e 75 6d | 62 65 72 20 6f 66 20 77 | the num|ber of w|
|00000380| 6f 72 64 73 20 69 6e 20 | 74 68 65 20 62 6c 6f 63 |ords in |the bloc|
|00000390| 6b 0d 3b 2d 2d 2d 09 34 | 2e 20 54 68 65 20 73 6f |k.;---.4|. The so|
|000003a0| 72 74 20 69 73 20 62 79 | 20 73 69 67 6e 65 64 20 |rt is by| signed |
|000003b0| 77 6f 72 64 0d 3b 2d 2d | 2d 09 35 2e 20 54 68 65 |word.;--|-.5. The|
|000003c0| 73 65 20 73 75 62 72 6f | 75 74 69 6e 65 73 20 77 |se subro|utines w|
|000003d0| 65 72 65 20 63 6f 64 65 | 64 20 61 6e 64 20 74 65 |ere code|d and te|
|000003e0| 73 74 65 64 20 66 6f 72 | 20 62 6c 6f 63 6b 73 0d |sted for| blocks.|
|000003f0| 3b 2d 2d 2d 09 20 20 20 | 6f 66 20 75 70 20 74 6f |;---. |of up to|
|00000400| 20 35 30 30 4b 2e 20 28 | 4e 6f 74 20 72 65 63 6f | 500K. (|Not reco|
|00000410| 6d 6d 65 6e 64 65 64 20 | 66 6f 72 20 62 75 62 62 |mmended |for bubb|
|00000420| 6c 65 20 73 6f 72 74 29 | 0d 3b 2d 2d 2d 09 4e 6f |le sort)|.;---.No|
|00000430| 74 65 20 74 68 61 74 20 | 69 6e 20 73 6f 6d 65 20 |te that |in some |
|00000440| 63 61 73 65 73 20 73 69 | 6d 70 6c 79 20 69 6e 76 |cases si|mply inv|
|00000450| 65 72 74 69 6e 67 20 74 | 68 65 20 63 6f 6d 70 61 |erting t|he compa|
|00000460| 72 69 73 6f 6e 73 0d 3b | 2d 2d 2d 09 66 72 6f 6d |risons.;|---.from|
|00000470| 20 42 47 54 20 74 6f 20 | 42 4c 54 20 77 69 6c 6c | BGT to |BLT will|
|00000480| 20 72 65 76 65 72 73 65 | 20 74 68 65 20 6f 72 64 | reverse| the ord|
|00000490| 65 72 20 6f 66 20 74 68 | 65 20 73 6f 72 74 0d 0d |er of th|e sort..|
|000004a0| 0d 3b 20 09 50 72 6f 63 | 65 64 75 72 65 20 20 42 |.; .Proc|edure B|
|000004b0| 75 62 62 6c 65 53 6f 72 | 74 09 28 20 4e 3a 4c 6f |ubbleSor|t.( N:Lo|
|000004c0| 6e 67 49 6e 74 20 3b 20 | 70 3a 50 6f 69 6e 74 65 |ngInt ; |p:Pointe|
|000004d0| 72 20 29 0d 3b 20 09 50 | 72 6f 63 65 64 75 72 65 |r ).; .P|rocedure|
|000004e0| 20 20 53 65 6c 65 63 74 | 69 6f 6e 53 6f 72 74 09 | Select|ionSort.|
|000004f0| 28 20 4e 3a 4c 6f 6e 67 | 49 6e 74 20 3b 20 70 3a |( N:Long|Int ; p:|
|00000500| 50 6f 69 6e 74 65 72 20 | 29 0d 3b 20 09 50 72 6f |Pointer |).; .Pro|
|00000510| 63 65 64 75 72 65 20 20 | 49 6e 73 65 72 74 69 6f |cedure |Insertio|
|00000520| 6e 53 6f 72 74 09 28 20 | 4e 3a 4c 6f 6e 67 49 6e |nSort.( |N:LongIn|
|00000530| 74 20 3b 20 70 3a 50 6f | 69 6e 74 65 72 20 29 0d |t ; p:Po|inter ).|
|00000540| 3b 20 09 50 72 6f 63 65 | 64 75 72 65 20 20 53 68 |; .Proce|dure Sh|
|00000550| 65 6c 6c 53 6f 72 74 09 | 28 20 4e 3a 4c 6f 6e 67 |ellSort.|( N:Long|
|00000560| 49 6e 74 20 3b 20 70 3a | 50 6f 69 6e 74 65 72 20 |Int ; p:|Pointer |
|00000570| 29 0d 3b 20 09 50 72 6f | 63 65 64 75 72 65 20 20 |).; .Pro|cedure |
|00000580| 51 75 69 63 6b 53 6f 72 | 74 09 28 20 4e 3a 4c 6f |QuickSor|t.( N:Lo|
|00000590| 6e 67 49 6e 74 20 3b 20 | 70 3a 50 6f 69 6e 74 65 |ngInt ; |p:Pointe|
|000005a0| 72 20 29 0d 0d 3b 20 59 | 6f 75 20 61 72 65 20 77 |r )..; Y|ou are w|
|000005b0| 65 6c 63 6f 6d 65 20 74 | 6f 20 75 73 65 20 74 68 |elcome t|o use th|
|000005c0| 65 73 65 20 73 6f 72 74 | 73 20 69 6e 20 61 6e 79 |ese sort|s in any|
|000005d0| 20 6f 66 20 79 6f 75 72 | 20 70 72 6f 67 72 61 6d | of your| program|
|000005e0| 73 0d 3b 20 62 61 73 65 | 64 20 6f 6e 20 6f 6e 65 |s.; base|d on one|
|000005f0| 20 6f 66 20 74 68 65 20 | 66 6f 6c 6c 6f 77 69 6e | of the |followin|
|00000600| 67 20 6c 69 63 65 6e 73 | 65 20 70 72 6f 67 72 61 |g licens|e progra|
|00000610| 6d 73 3b 0d 0d 3b 09 61 | 2e 20 20 50 61 79 20 6d |ms;..;.a|. Pay m|
|00000620| 65 20 6f 6e 65 20 49 74 | 61 6c 69 61 6e 20 4c 69 |e one It|alian Li|
|00000630| 72 65 20 66 6f 72 20 65 | 61 63 68 20 6e 75 6d 62 |re for e|ach numb|
|00000640| 65 72 20 73 6f 72 74 65 | 64 2e 0d 3b 09 09 09 6f |er sorte|d..;...o|
|00000650| 72 0d 3b 09 62 2e 20 20 | 4d 65 6e 74 69 6f 6e 20 |r.;.b. |Mention |
|00000660| 6d 79 20 6e 61 6d 65 20 | 69 66 20 79 6f 75 20 75 |my name |if you u|
|00000670| 73 65 20 51 75 69 63 6b | 53 6f 72 74 2e 0d 3b 09 |se Quick|Sort..;.|
|00000680| 09 09 6f 72 0d 3b 09 63 | 2e 20 20 47 6f 20 74 6f |..or.;.c|. Go to|
|00000690| 20 63 68 75 72 63 68 20 | 6e 65 78 74 20 73 75 6e | church |next sun|
|000006a0| 64 61 79 2e 0d 3b 0d 3b | 09 09 2a 2a 2a 50 6c 65 |day..;.;|..***Ple|
|000006b0| 61 73 65 20 63 6f 6e 73 | 75 6c 74 20 79 6f 75 72 |ase cons|ult your|
|000006c0| 20 6c 61 77 79 65 72 2a | 2a 2a 0d 0d 0d 0d 4f 75 | lawyer*|**....Ou|
|000006d0| 74 4f 66 53 6f 72 74 73 | 0d 09 70 65 61 09 2d 34 |tOfSorts|..pea.-4|
|000006e0| 28 61 35 29 0d 09 5f 49 | 6e 69 74 47 72 61 66 0d |(a5).._I|nitGraf.|
|000006f0| 09 5f 49 6e 69 74 46 6f | 6e 74 73 0d 09 5f 49 6e |._InitFo|nts.._In|
|00000700| 69 74 57 69 6e 64 6f 77 | 73 0d 09 5f 49 6e 69 74 |itWindow|s.._Init|
|00000710| 4d 65 6e 75 73 0d 09 63 | 6c 72 2e 6c 09 2d 28 73 |Menus..c|lr.l.-(s|
|00000720| 70 29 09 0d 09 5f 49 6e | 69 74 44 69 61 6c 6f 67 |p)..._In|itDialog|
|00000730| 73 0d 09 5f 54 45 49 6e | 69 74 0d 0d 3b 0d 09 6d |s.._TEIn|it..;..m|
|00000740| 6f 76 65 2e 6c 09 2d 34 | 28 61 35 29 2c 61 30 09 |ove.l.-4|(a5),a0.|
|00000750| 09 61 30 20 3d 20 70 74 | 72 20 74 6f 20 51 75 69 |.a0 = pt|r to Qui|
|00000760| 63 6b 44 72 61 77 20 67 | 6c 6f 62 61 6c 73 0d 0d |ckDraw g|lobals..|
|00000770| 09 6d 6f 76 65 2e 77 09 | 31 32 28 61 30 29 2c 64 |.move.w.|12(a0),d|
|00000780| 37 09 09 53 63 72 65 65 | 6e 20 48 65 69 67 68 74 |7..Scree|n Height|
|00000790| 20 2a 0d 09 6d 75 6c 73 | 09 53 63 72 65 65 6e 52 | *..muls|.ScreenR|
|000007a0| 6f 77 2c 64 37 09 42 79 | 74 65 73 2f 4c 69 6e 65 |ow,d7.By|tes/Line|
|000007b0| 0d 09 6c 73 72 2e 6c 09 | 23 31 2c 64 37 09 09 2f |..lsr.l.|#1,d7../|
|000007c0| 32 20 3d 20 57 6f 72 64 | 73 20 6f 6e 20 74 68 65 |2 = Word|s on the|
|000007d0| 20 53 63 72 65 65 6e 0d | 0d 0d 09 6d 6f 76 65 2e | Screen.|...move.|
|000007e0| 6c 09 24 38 32 34 2c 54 | 68 65 42 6c 6f 63 6b 0d |l.$824,T|heBlock.|
|000007f0| 0d 3b 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.;******|********|
|00000800| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000810| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000820| 2a 2a 2a 2a 2a 2a 2a 2a | 0d 3b 20 49 66 20 79 6f |********|.; If yo|
|00000830| 75 20 77 61 6e 74 20 74 | 6f 20 75 73 65 20 61 20 |u want t|o use a |
|00000840| 6e 6f 6e 72 65 6c 6f 63 | 61 74 61 62 6c 65 20 62 |nonreloc|atable b|
|00000850| 6c 6f 63 6b 20 69 6e 20 | 6d 65 6d 6f 72 79 0d 3b |lock in |memory.;|
|00000860| 20 79 6f 75 20 63 6f 75 | 6c 64 20 64 6f 20 69 74 | you cou|ld do it|
|00000870| 20 74 68 69 73 20 77 61 | 79 0d 3b 4e 09 65 71 75 | this wa|y.;N.equ|
|00000880| 09 59 6f 75 72 53 69 7a | 65 0d 3b 09 6d 6f 76 65 |.YourSiz|e.;.move|
|00000890| 2e 6c 09 23 4e 2c 64 37 | 09 09 59 6f 75 20 63 68 |.l.#N,d7|..You ch|
|000008a0| 6f 6f 73 65 20 74 68 65 | 20 73 69 7a 65 0d 3b 09 |oose the| size.;.|
|000008b0| 6d 6f 76 65 2e 6c 09 64 | 37 2c 64 30 0d 3b 09 61 |move.l.d|7,d0.;.a|
|000008c0| 64 64 2e 6c 09 64 30 2c | 64 30 09 09 42 6c 6f 63 |dd.l.d0,|d0..Bloc|
|000008d0| 6b 73 69 7a 65 20 3d 20 | 4e 2a 20 32 20 62 79 74 |ksize = |N* 2 byt|
|000008e0| 65 73 2f 77 6f 72 64 0d | 3b 09 61 64 64 71 2e 6c |es/word.|;.addq.l|
|000008f0| 09 23 32 2c 64 30 09 09 | 2b 20 77 6f 72 64 20 6d |.#2,d0..|+ word m|
|00000900| 61 72 6b 65 72 20 23 24 | 46 41 43 45 0d 3b 09 5f |arker #$|FACE.;._|
|00000910| 4e 65 77 50 74 72 0d 3b | 09 74 73 74 2e 77 09 64 |NewPtr.;|.tst.w.d|
|00000920| 30 0d 3b 09 62 6d 69 09 | 45 72 72 6f 72 0d 3b 09 |0.;.bmi.|Error.;.|
|00000930| 6d 6f 76 65 2e 6c 09 61 | 30 2c 54 68 65 42 6c 6f |move.l.a|0,TheBlo|
|00000940| 63 6b 0d 3b 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |ck.;****|********|
|00000950| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000960| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000970| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0d 0d 3b 20 69 6e |********|**..; in|
|00000980| 20 74 68 69 73 20 70 72 | 6f 67 72 61 6d 2c 20 64 | this pr|ogram, d|
|00000990| 37 20 77 69 6c 6c 20 68 | 6f 6c 64 20 23 4e 0d 3b |7 will h|old #N.;|
|000009a0| 20 49 66 20 79 6f 75 20 | 77 61 6e 74 20 64 69 66 | If you |want dif|
|000009b0| 66 65 72 65 6e 74 20 73 | 69 7a 65 64 20 62 6c 6f |ferent s|ized blo|
|000009c0| 63 6b 73 20 74 6f 20 62 | 65 20 61 6c 6c 6f 63 61 |cks to b|e alloca|
|000009d0| 74 65 64 20 61 6e 64 20 | 73 6f 72 74 65 64 0d 3b |ted and |sorted.;|
|000009e0| 20 6a 75 73 74 20 70 6c | 61 63 65 20 79 6f 75 72 | just pl|ace your|
|000009f0| 20 76 61 6c 75 65 20 69 | 6e 74 6f 20 64 37 20 68 | value i|nto d7 h|
|00000a00| 65 72 65 0d 0d 0d 09 62 | 73 72 09 46 69 6c 6c 42 |ere....b|sr.FillB|
|00000a10| 6c 6f 63 6b 0d 0d 09 6d | 6f 76 65 2e 6c 09 64 37 |lock...m|ove.l.d7|
|00000a20| 2c 2d 28 73 70 29 0d 09 | 6d 6f 76 65 2e 6c 09 54 |,-(sp)..|move.l.T|
|00000a30| 68 65 42 6c 6f 63 6b 2c | 2d 28 73 70 29 0d 09 62 |heBlock,|-(sp)..b|
|00000a40| 73 72 09 42 75 62 62 6c | 65 53 6f 72 74 0d 0d 09 |sr.Bubbl|eSort...|
|00000a50| 62 73 72 09 46 69 6c 6c | 42 6c 6f 63 6b 0d 0d 09 |bsr.Fill|Block...|
|00000a60| 6d 6f 76 65 2e 6c 09 64 | 37 2c 2d 28 73 70 29 0d |move.l.d|7,-(sp).|
|00000a70| 09 6d 6f 76 65 2e 6c 09 | 54 68 65 42 6c 6f 63 6b |.move.l.|TheBlock|
|00000a80| 2c 2d 28 73 70 29 0d 09 | 62 73 72 09 53 65 6c 65 |,-(sp)..|bsr.Sele|
|00000a90| 63 74 69 6f 6e 53 6f 72 | 74 0d 0d 09 62 73 72 09 |ctionSor|t...bsr.|
|00000aa0| 46 69 6c 6c 42 6c 6f 63 | 6b 0d 0d 09 6d 6f 76 65 |FillBloc|k...move|
|00000ab0| 2e 6c 09 64 37 2c 2d 28 | 73 70 29 0d 09 6d 6f 76 |.l.d7,-(|sp)..mov|
|00000ac0| 65 2e 6c 09 54 68 65 42 | 6c 6f 63 6b 2c 2d 28 73 |e.l.TheB|lock,-(s|
|00000ad0| 70 29 0d 09 62 73 72 09 | 49 6e 73 65 72 74 69 6f |p)..bsr.|Insertio|
|00000ae0| 6e 53 6f 72 74 0d 0d 09 | 62 73 72 09 46 69 6c 6c |nSort...|bsr.Fill|
|00000af0| 42 6c 6f 63 6b 0d 0d 09 | 6d 6f 76 65 2e 6c 09 64 |Block...|move.l.d|
|00000b00| 37 2c 2d 28 73 70 29 0d | 09 6d 6f 76 65 2e 6c 09 |7,-(sp).|.move.l.|
|00000b10| 54 68 65 42 6c 6f 63 6b | 2c 2d 28 73 70 29 0d 09 |TheBlock|,-(sp)..|
|00000b20| 62 73 72 09 53 68 65 6c | 6c 53 6f 72 74 0d 0d 09 |bsr.Shel|lSort...|
|00000b30| 62 73 72 09 46 69 6c 6c | 42 6c 6f 63 6b 0d 0d 09 |bsr.Fill|Block...|
|00000b40| 6d 6f 76 65 2e 6c 09 64 | 37 2c 2d 28 73 70 29 0d |move.l.d|7,-(sp).|
|00000b50| 09 6d 6f 76 65 2e 6c 09 | 54 68 65 42 6c 6f 63 6b |.move.l.|TheBlock|
|00000b60| 2c 2d 28 73 70 29 0d 09 | 62 73 72 09 51 75 69 63 |,-(sp)..|bsr.Quic|
|00000b70| 6b 53 6f 72 74 0d 0d 09 | 52 74 73 0d 0d 0d 3b 20 |kSort...|Rts...; |
|00000b80| 54 68 65 20 42 75 62 62 | 6c 65 20 53 6f 72 74 20 |The Bubb|le Sort |
|00000b90| 61 6c 67 6f 72 69 74 68 | 6d 20 69 73 20 64 65 64 |algorith|m is ded|
|00000ba0| 69 63 61 74 65 64 20 74 | 6f 20 53 54 4f 50 20 70 |icated t|o STOP p|
|00000bb0| 69 70 65 20 74 6f 62 61 | 63 63 6f 0d 3b 20 28 41 |ipe toba|cco.; (A|
|00000bc0| 6c 66 72 65 64 20 26 20 | 43 68 72 69 73 74 69 61 |lfred & |Christia|
|00000bd0| 6e 20 50 65 74 65 72 73 | 6f 6e 2c 20 48 6f 72 73 |n Peters|on, Hors|
|00000be0| 65 6e 73 2c 20 44 61 6e | 6d 61 72 6b 29 0d 3b 20 |ens, Dan|mark).; |
|00000bf0| 62 65 63 61 75 73 65 20 | 73 6f 6d 65 74 69 6d 65 |because |sometime|
|00000c00| 73 20 69 74 20 73 65 65 | 6d 73 20 61 73 20 74 68 |s it see|ms as th|
|00000c10| 6f 75 67 68 20 69 74 20 | 6e 65 76 65 72 20 77 69 |ough it |never wi|
|00000c20| 6c 6c 2e 0d 0d 3b 20 20 | 50 61 73 73 20 74 68 72 |ll...; |Pass thr|
|00000c30| 6f 75 67 68 20 62 6c 6f | 63 6b 20 72 65 70 65 61 |ough blo|ck repea|
|00000c40| 74 65 64 6c 79 2c 20 65 | 78 63 68 61 6e 67 69 6e |tedly, e|xchangin|
|00000c50| 67 20 61 64 6a 61 63 65 | 6e 74 20 65 6c 65 6d 65 |g adjace|nt eleme|
|00000c60| 6e 74 73 0d 3b 20 20 75 | 6e 74 69 6c 20 65 78 63 |nts.; u|ntil exc|
|00000c70| 68 61 6e 67 65 73 20 3d | 20 30 0d 0d 42 75 62 62 |hanges =| 0..Bubb|
|00000c80| 6c 65 53 6f 72 74 0d 09 | 6d 6f 76 65 6d 2e 6c 09 |leSort..|movem.l.|
|00000c90| 64 33 2f 64 34 2f 61 32 | 2c 2d 28 41 37 29 0d 09 |d3/d4/a2|,-(A7)..|
|00000ca0| 6d 6f 76 65 2e 6c 09 32 | 30 28 73 70 29 2c 64 34 |move.l.2|0(sp),d4|
|00000cb0| 0d 09 73 75 62 2e 6c 09 | 23 32 2c 64 34 09 09 44 |..sub.l.|#2,d4..D|
|00000cc0| 32 20 3d 20 42 6c 6f 63 | 6b 20 63 6f 75 6e 74 65 |2 = Bloc|k counte|
|00000cd0| 72 0d 09 62 6d 69 2e 73 | 09 4e 6f 42 75 62 62 6c |r..bmi.s|.NoBubbl|
|00000ce0| 65 73 0d 09 6d 6f 76 65 | 2e 6c 09 31 36 28 73 70 |es..move|.l.16(sp|
|00000cf0| 29 2c 61 32 0d 0d 44 6f | 42 53 09 6d 6f 76 65 2e |),a2..Do|BS.move.|
|00000d00| 6c 09 64 34 2c 64 32 0d | 09 6d 6f 76 65 71 09 23 |l.d4,d2.|.moveq.#|
|00000d10| 30 2c 64 33 09 09 64 33 | 20 3d 20 65 78 63 68 61 |0,d3..d3| = excha|
|00000d20| 6e 67 65 73 0d 09 6d 6f | 76 65 2e 6c 09 61 32 2c |nges..mo|ve.l.a2,|
|00000d30| 61 30 0d 09 6c 65 61 09 | 32 28 61 30 29 2c 61 31 |a0..lea.|2(a0),a1|
|00000d40| 0d 0d 4e 65 78 74 42 75 | 62 62 6c 65 0d 09 63 6d |..NextBu|bble..cm|
|00000d50| 70 6d 2e 77 09 28 61 30 | 29 2b 2c 28 61 31 29 2b |pm.w.(a0|)+,(a1)+|
|00000d60| 0d 09 62 67 65 2e 73 09 | 49 6e 4f 72 64 65 72 09 |..bge.s.|InOrder.|
|00000d70| 09 42 4c 45 20 52 65 76 | 65 72 73 65 73 20 73 6f |.BLE Rev|erses so|
|00000d80| 72 74 20 6f 72 64 65 72 | 0d 0d 09 6d 6f 76 65 2e |rt order|...move.|
|00000d90| 77 09 28 61 30 29 2c 64 | 30 0d 09 6d 6f 76 65 2e |w.(a0),d|0..move.|
|00000da0| 77 09 2d 32 28 61 30 29 | 2c 28 61 30 29 09 53 77 |w.-2(a0)|,(a0).Sw|
|00000db0| 61 70 20 74 68 65 20 4e | 75 6d 62 65 72 73 0d 09 |ap the N|umbers..|
|00000dc0| 6d 6f 76 65 2e 77 09 64 | 30 2c 2d 32 28 61 30 29 |move.w.d|0,-2(a0)|
|00000dd0| 0d 09 61 64 64 71 2e 6c | 09 23 31 2c 64 33 09 09 |..addq.l|.#1,d3..|
|00000de0| 6d 61 72 6b 20 65 78 63 | 68 61 6e 67 65 0d 0d 49 |mark exc|hange..I|
|00000df0| 6e 4f 72 64 65 72 09 73 | 75 62 71 2e 6c 09 23 31 |nOrder.s|ubq.l.#1|
|00000e00| 2c 64 32 0d 09 62 70 6c | 09 4e 65 78 74 42 75 62 |,d2..bpl|.NextBub|
|00000e10| 62 6c 65 0d 09 74 73 74 | 2e 6c 09 64 33 09 09 45 |ble..tst|.l.d3..E|
|00000e20| 78 63 68 61 6e 67 65 73 | 20 3d 20 30 3f 0d 09 62 |xchanges| = 0?..b|
|00000e30| 6e 65 2e 73 09 44 6f 42 | 53 09 09 20 20 3e 4e 6f |ne.s.DoB|S.. >No|
|00000e40| 2c 20 53 74 61 72 74 20 | 66 72 6f 6d 20 74 68 65 |, Start |from the|
|00000e50| 20 62 65 67 69 6e 6e 69 | 6e 67 0d 4e 6f 42 75 62 | beginni|ng.NoBub|
|00000e60| 62 6c 65 73 09 6d 6f 76 | 65 6d 2e 6c 09 28 73 70 |bles.mov|em.l.(sp|
|00000e70| 29 2b 2c 64 33 2f 64 34 | 2f 61 32 09 3e 59 65 73 |)+,d3/d4|/a2.>Yes|
|00000e80| 2c 20 61 6c 6c 20 64 6f | 6e 65 0d 09 6d 6f 76 65 |, all do|ne..move|
|00000e90| 2e 6c 09 28 73 70 29 2b | 2c 61 30 0d 09 61 64 64 |.l.(sp)+|,a0..add|
|00000ea0| 71 2e 77 09 23 38 2c 73 | 70 0d 09 6a 6d 70 09 28 |q.w.#8,s|p..jmp.(|
|00000eb0| 61 30 29 0d 0d 0d 3b 20 | 20 53 65 6c 65 63 74 69 |a0)...; | Selecti|
|00000ec0| 6f 6e 20 53 6f 72 74 20 | 41 6c 67 6f 72 69 74 68 |on Sort |Algorith|
|00000ed0| 6d 0d 3b 0d 0d 53 65 6c | 65 63 74 69 6f 6e 53 6f |m.;..Sel|ectionSo|
|00000ee0| 72 74 0d 09 6d 6f 76 65 | 2e 6c 09 61 32 2c 2d 28 |rt..move|.l.a2,-(|
|00000ef0| 41 37 29 0d 09 6d 6f 76 | 65 2e 6c 09 31 32 28 73 |A7)..mov|e.l.12(s|
|00000f00| 70 29 2c 64 32 09 09 44 | 32 20 3d 20 42 6c 6f 63 |p),d2..D|2 = Bloc|
|00000f10| 6b 20 63 6f 75 6e 74 65 | 72 0d 09 73 75 62 71 2e |k counte|r..subq.|
|00000f20| 6c 09 23 31 2c 64 32 0d | 09 62 6c 65 2e 73 09 53 |l.#1,d2.|.ble.s.S|
|00000f30| 46 69 6e 69 73 68 0d 09 | 6d 6f 76 65 2e 6c 09 38 |Finish..|move.l.8|
|00000f40| 28 73 70 29 2c 61 32 09 | 09 41 32 20 3d 20 55 6e |(sp),a2.|.A2 = Un|
|00000f50| 73 6f 72 74 65 64 20 42 | 61 73 65 0d 09 62 72 61 |sorted B|ase..bra|
|00000f60| 2e 73 09 2e 66 69 72 73 | 74 0d 0d 53 46 69 6e 69 |.s..firs|t..SFini|
|00000f70| 73 68 09 6d 6f 76 65 6d | 2e 6c 09 28 73 70 29 2b |sh.movem|.l.(sp)+|
|00000f80| 2c 61 32 09 3e 59 65 73 | 2c 20 61 6c 6c 20 64 6f |,a2.>Yes|, all do|
|00000f90| 6e 65 0d 09 6d 6f 76 65 | 2e 6c 09 28 73 70 29 2b |ne..move|.l.(sp)+|
|00000fa0| 2c 61 30 0d 09 61 64 64 | 71 2e 77 09 23 38 2c 73 |,a0..add|q.w.#8,s|
|00000fb0| 70 0d 09 6a 6d 70 09 28 | 61 30 29 0d 0d 0d 4e 78 |p..jmp.(|a0)...Nx|
|00000fc0| 74 53 65 6c 09 73 75 62 | 71 2e 6c 09 23 31 2c 64 |tSel.sub|q.l.#1,d|
|00000fd0| 32 0d 09 62 6d 69 09 53 | 46 69 6e 69 73 68 0d 09 |2..bmi.S|Finish..|
|00000fe0| 6d 6f 76 65 2e 77 09 28 | 41 32 29 2c 44 33 0d 09 |move.w.(|A2),D3..|
|00000ff0| 6d 6f 76 65 2e 77 09 28 | 61 31 29 2c 28 41 32 29 |move.w.(|a1),(A2)|
|00001000| 2b 09 41 32 20 69 73 20 | 55 70 64 61 74 65 64 20 |+.A2 is |Updated |
|00001010| 65 61 63 68 20 70 61 73 | 73 0d 09 6d 6f 76 65 2e |each pas|s..move.|
|00001020| 77 09 64 33 2c 28 61 31 | 29 09 09 41 66 74 65 72 |w.d3,(a1|)..After|
|00001030| 20 65 61 63 68 20 23 20 | 69 73 20 61 64 64 65 64 | each # |is added|
|00001040| 0d 0d 2e 66 69 72 73 74 | 09 6d 6f 76 65 2e 6c 09 |...first|.move.l.|
|00001050| 64 32 2c 64 31 0d 09 6d | 6f 76 65 2e 77 09 28 41 |d2,d1..m|ove.w.(A|
|00001060| 32 29 2c 64 30 0d 09 6d | 6f 76 65 2e 6c 09 41 32 |2),d0..m|ove.l.A2|
|00001070| 2c 61 31 09 09 41 31 20 | 3d 20 41 64 64 72 65 73 |,a1..A1 |= Addres|
|00001080| 73 20 6f 66 20 74 68 65 | 20 73 6d 61 6c 6c 65 73 |s of the| smalles|
|00001090| 74 20 23 0d 09 6c 65 61 | 09 32 28 41 32 29 2c 61 |t #..lea|.2(A2),a|
|000010a0| 30 09 09 41 30 20 3d 20 | 6e 65 78 74 20 23 20 74 |0..A0 = |next # t|
|000010b0| 6f 20 63 6f 6d 70 61 72 | 65 20 74 6f 20 28 61 31 |o compar|e to (a1|
|000010c0| 29 0d 0d 44 30 43 6d 70 | 09 73 75 62 71 2e 6c 09 |)..D0Cmp|.subq.l.|
|000010d0| 23 31 2c 64 31 0d 09 62 | 6d 69 09 4e 78 74 53 65 |#1,d1..b|mi.NxtSe|
|000010e0| 6c 0d 09 63 6d 70 2e 77 | 09 28 61 30 29 2b 2c 64 |l..cmp.w|.(a0)+,d|
|000010f0| 30 0d 09 62 6c 74 09 44 | 30 43 6d 70 0d 09 6d 6f |0..blt.D|0Cmp..mo|
|00001100| 76 65 2e 6c 09 61 30 2c | 61 31 0d 09 6d 6f 76 65 |ve.l.a0,|a1..move|
|00001110| 2e 77 09 2d 28 61 31 29 | 2c 64 30 0d 09 62 72 61 |.w.-(a1)|,d0..bra|
|00001120| 09 44 30 43 6d 70 0d 0d | 0d 3b 20 20 4e 6f 74 65 |.D0Cmp..|.; Note|
|00001130| 20 74 68 61 74 20 49 6e | 73 65 72 74 69 6f 6e 20 | that In|sertion |
|00001140| 53 6f 72 74 20 69 73 20 | 74 68 65 20 51 75 69 63 |Sort is |the Quic|
|00001150| 6b 65 73 74 20 6f 66 20 | 61 6c 6c 20 66 6f 72 20 |kest of |all for |
|00001160| 61 0d 3b 20 20 73 6f 72 | 74 65 64 20 62 6c 6f 63 |a.; sor|ted bloc|
|00001170| 6b 20 28 51 75 69 63 6b | 73 6f 72 74 20 69 73 20 |k (Quick|sort is |
|00001180| 74 68 65 20 77 6f 72 73 | 74 21 29 2e 0d 0d 49 6e |the wors|t!)...In|
|00001190| 73 65 72 74 69 6f 6e 53 | 6f 72 74 0d 09 6c 69 6e |sertionS|ort..lin|
|000011a0| 6b 09 61 36 2c 23 30 0d | 09 6d 6f 76 65 6d 2e 6c |k.a6,#0.|.movem.l|
|000011b0| 09 64 33 2f 61 32 2f 61 | 33 2c 2d 28 73 70 29 0d |.d3/a2/a|3,-(sp).|
|000011c0| 09 6d 6f 76 65 2e 4c 09 | 38 28 41 36 29 2c 41 33 |.move.L.|8(A6),A3|
|000011d0| 0d 09 6d 6f 76 65 2e 4c | 09 31 32 28 41 36 29 2c |..move.L|.12(A6),|
|000011e0| 44 32 0d 09 6d 6f 76 65 | 71 09 23 30 2c 64 31 0d |D2..move|q.#0,d1.|
|000011f0| 09 6d 6f 76 65 71 09 23 | 30 2c 64 30 09 09 44 30 |.moveq.#|0,d0..D0|
|00001200| 20 3d 20 43 4d 50 20 52 | 65 67 69 73 74 65 72 0d | = CMP R|egister.|
|00001210| 09 6d 6f 76 65 2e 6c 09 | 61 33 2c 41 32 09 09 61 |.move.l.|a3,A2..a|
|00001220| 33 20 3d 20 42 61 73 65 | 20 6f 66 20 42 6c 6f 63 |3 = Base| of Bloc|
|00001230| 6b 0d 09 6d 6f 76 65 71 | 09 23 2d 31 2c 64 33 0d |k..moveq|.#-1,d3.|
|00001240| 09 6c 65 61 09 32 28 61 | 33 29 2c 61 30 0d 09 73 |.lea.2(a|3),a0..s|
|00001250| 75 62 71 2e 6c 09 23 31 | 2c 64 32 0d 0d 4e 65 78 |ubq.l.#1|,d2..Nex|
|00001260| 74 49 6e 73 65 72 74 0d | 09 61 64 64 71 2e 6c 09 |tInsert.|.addq.l.|
|00001270| 23 31 2c 64 33 09 09 64 | 33 20 3d 20 49 6e 73 65 |#1,d3..d|3 = Inse|
|00001280| 72 74 20 42 6c 6f 63 6b | 20 53 69 7a 65 0d 09 63 |rt Block| Size..c|
|00001290| 6d 70 2e 6c 09 64 33 2c | 64 32 0d 09 62 6c 65 2e |mp.l.d3,|d2..ble.|
|000012a0| 73 09 49 66 69 6e 69 73 | 68 65 64 0d 09 6d 6f 76 |s.Ifinis|hed..mov|
|000012b0| 65 2e 6c 09 61 30 2c 41 | 32 0d 09 6d 6f 76 65 2e |e.l.a0,A|2..move.|
|000012c0| 77 09 28 61 30 29 2b 2c | 64 30 09 09 4e 65 77 20 |w.(a0)+,|d0..New |
|000012d0| 45 6e 74 72 79 3e 20 44 | 30 0d 0d 4e 65 78 74 50 |Entry> D|0..NextP|
|000012e0| 6f 73 0d 09 6d 6f 76 65 | 2e 77 09 2d 28 41 32 29 |os..move|.w.-(A2)|
|000012f0| 2c 64 31 0d 09 63 6d 70 | 2e 77 09 64 30 2c 64 31 |,d1..cmp|.w.d0,d1|
|00001300| 0d 09 62 67 65 2e 73 09 | 54 72 61 64 65 0d 0d 09 |..bge.s.|Trade...|
|00001310| 6d 6f 76 65 2e 77 09 64 | 30 2c 32 28 41 32 29 09 |move.w.d|0,2(A2).|
|00001320| 09 44 72 6f 70 0d 09 62 | 72 61 2e 73 09 4e 65 78 |.Drop..b|ra.s.Nex|
|00001330| 74 49 6e 73 65 72 74 0d | 0d 54 72 61 64 65 09 6d |tInsert.|.Trade.m|
|00001340| 6f 76 65 2e 77 09 64 31 | 2c 32 28 41 32 29 09 09 |ove.w.d1|,2(A2)..|
|00001350| 53 77 61 70 0d 09 6d 6f | 76 65 2e 77 09 64 30 2c |Swap..mo|ve.w.d0,|
|00001360| 28 41 32 29 0d 09 63 6d | 70 2e 6c 09 61 33 2c 41 |(A2)..cm|p.l.a3,A|
|00001370| 32 0d 09 62 6e 65 2e 73 | 09 4e 65 78 74 50 6f 73 |2..bne.s|.NextPos|
|00001380| 0d 09 62 72 61 2e 73 09 | 4e 65 78 74 49 6e 73 65 |..bra.s.|NextInse|
|00001390| 72 74 0d 0d 49 46 69 6e | 69 73 68 65 64 09 6d 6f |rt..IFin|ished.mo|
|000013a0| 76 65 6d 2e 6c 09 28 73 | 70 29 2b 2c 64 33 2f 61 |vem.l.(s|p)+,d3/a|
|000013b0| 32 2f 61 33 0d 09 75 6e | 6c 6b 09 61 36 0d 09 6d |2/a3..un|lk.a6..m|
|000013c0| 6f 76 65 2e 6c 09 28 73 | 70 29 2b 2c 61 30 0d 09 |ove.l.(s|p)+,a0..|
|000013d0| 61 64 64 71 2e 77 09 23 | 38 2c 73 70 0d 09 6a 6d |addq.w.#|8,sp..jm|
|000013e0| 70 09 28 61 30 29 0d 0d | 3b 2d 2d 2d 2d 2d 2d 2d |p.(a0)..|;-------|
|000013f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001400| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001410| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001420| 2d 0d 3b 2d 2d 2d 20 54 | 68 69 73 20 69 73 20 53 |-.;--- T|his is S|
|00001430| 68 65 6c 6c 53 6f 72 74 | 20 73 74 6f 6c 65 6e 20 |hellSort| stolen |
|00001440| 66 72 6f 6d 20 4d 61 63 | 4e 6f 73 65 79 0d 3b 2d |from Mac|Nosey.;-|
|00001450| 2d 2d 20 61 73 20 64 65 | 6d 61 6e 64 65 64 20 62 |-- as de|manded b|
|00001460| 79 20 69 74 27 73 20 61 | 75 74 68 6f 72 2c 20 53 |y it's a|uthor, S|
|00001470| 74 65 76 65 20 4a 61 73 | 69 6b 2e 0d 3b 2d 2d 2d |teve Jas|ik..;---|
|00001480| 20 49 20 6d 6f 64 69 66 | 69 65 64 20 69 74 20 73 | I modif|ied it s|
|00001490| 6f 6d 65 77 68 61 74 20 | 74 6f 20 68 61 6e 64 6c |omewhat |to handl|
|000014a0| 65 20 62 69 67 67 65 72 | 20 62 6c 6f 63 6b 73 2e |e bigger| blocks.|
|000014b0| 0d 3b 0d 3b 20 20 53 68 | 65 6c 6c 20 53 6f 72 74 |.;.; Sh|ell Sort|
|000014c0| 20 41 6c 67 6f 72 69 74 | 68 6d 0d 3b 20 4e 20 3d | Algorit|hm.; N =|
|000014d0| 20 09 35 30 30 30 20 20 | 20 20 20 20 20 54 69 6d | .5000 | Tim|
|000014e0| 65 3d 20 20 20 20 30 2e | 35 20 53 65 63 6f 6e 64 |e= 0.|5 Second|
|000014f0| 73 0d 3b 20 20 20 3d 20 | 20 20 20 31 30 30 30 30 |s.; = | 10000|
|00001500| 09 09 30 2e 39 0d 3b 20 | 20 20 3d 20 20 20 20 32 |..0.9.; | = 2|
|00001510| 30 30 30 30 09 20 20 20 | 20 20 20 20 20 20 20 31 |0000. | 1|
|00001520| 2e 35 0d 0d 53 68 65 6c | 6c 53 6f 72 74 09 4c 49 |.5..Shel|lSort.LI|
|00001530| 4e 4b 09 41 36 2c 23 30 | 0d 09 4d 4f 56 45 4d 2e |NK.A6,#0|..MOVEM.|
|00001540| 4c 09 44 33 2d 44 37 2f | 41 32 2d 41 33 2c 2d 28 |L.D3-D7/|A2-A3,-(|
|00001550| 53 50 29 0d 09 4d 4f 56 | 45 41 2e 4c 09 38 28 41 |SP)..MOV|EA.L.8(A|
|00001560| 36 29 2c 41 32 09 09 3b | 20 74 62 6c 20 61 64 64 |6),A2..;| tbl add|
|00001570| 72 0d 09 4d 4f 56 45 2e | 4c 09 31 32 28 41 36 29 |r..MOVE.|L.12(A6)|
|00001580| 2c 44 37 09 09 3b 20 6e | 0d 09 43 4d 50 49 2e 4c |,D7..; n|..CMPI.L|
|00001590| 09 23 31 2c 44 37 0d 09 | 42 4c 45 2e 53 09 6c 75 |.#1,D7..|BLE.S.lu|
|000015a0| 6a 5f 36 09 09 3b 20 69 | 66 20 6e 20 3c 3d 20 31 |j_6..; i|f n <= 1|
|000015b0| 0d 09 4c 45 41 09 48 54 | 61 62 6c 65 2c 41 31 0d |..LEA.HT|able,A1.|
|000015c0| 09 6d 6f 76 65 71 09 23 | 30 2c 64 30 0d 09 6d 6f |.moveq.#|0,d0..mo|
|000015d0| 76 65 71 09 23 30 2c 64 | 32 0d 6c 75 6a 5f 31 09 |veq.#0,d|2.luj_1.|
|000015e0| 41 44 44 51 2e 6c 09 23 | 34 2c 44 30 09 09 3b 20 |ADDQ.l.#|4,D0..; |
|000015f0| 6b 20 3a 3d 20 6b 20 2b | 20 31 0d 09 4d 4f 56 45 |k := k +| 1..MOVE|
|00001600| 2e 6c 09 30 28 41 31 2c | 44 30 2e 6c 29 2c 44 33 |.l.0(A1,|D0.l),D3|
|00001610| 0d 09 43 4d 50 2e 6c 09 | 44 37 2c 44 33 09 09 3b |..CMP.l.|D7,D3..;|
|00001620| 20 69 66 20 67 61 70 20 | 3c 3d 20 6e 0d 09 42 4c | if gap |<= n..BL|
|00001630| 54 2e 53 09 6c 75 6a 5f | 31 0d 09 4c 53 4c 2e 4c |T.S.luj_|1..LSL.L|
|00001640| 09 23 31 2c 44 37 0d 09 | 53 55 42 51 2e 4c 09 23 |.#1,D7..|SUBQ.L.#|
|00001650| 32 2c 44 37 09 09 3b 20 | 64 37 20 3d 20 38 2a 6e |2,D7..; |d7 = 8*n|
|00001660| 2d 38 0d 6c 75 6a 5f 32 | 09 53 55 42 51 2e 6c 09 |-8.luj_2|.SUBQ.l.|
|00001670| 23 34 2c 44 30 09 09 3b | 20 6b 20 3a 3d 20 6b 20 |#4,D0..;| k := k |
|00001680| 2d 20 31 0d 09 4d 4f 56 | 45 2e 6c 09 30 28 41 31 |- 1..MOV|E.l.0(A1|
|00001690| 2c 44 30 2e 6c 29 2c 44 | 33 0d 09 4c 53 4c 2e 6c |,D0.l),D|3..LSL.l|
|000016a0| 09 23 31 2c 44 33 0d 09 | 4d 4f 56 45 2e 6c 09 44 |.#1,D3..|MOVE.l.D|
|000016b0| 33 2c 44 31 0d 6c 75 6a | 5f 33 09 4d 4f 56 45 2e |3,D1.luj|_3.MOVE.|
|000016c0| 77 09 28 41 32 2c 44 31 | 2e 6c 29 2c 44 34 0d 09 |w.(A2,D1|.l),D4..|
|000016d0| 4d 4f 56 45 2e 6c 09 44 | 31 2c 44 32 0d 09 53 55 |MOVE.l.D|1,D2..SU|
|000016e0| 42 2e 6c 09 44 33 2c 44 | 32 0d 09 4d 4f 56 45 41 |B.l.D3,D|2..MOVEA|
|000016f0| 2e 4c 09 41 32 2c 41 33 | 0d 09 41 44 44 41 2e 6c |.L.A2,A3|..ADDA.l|
|00001700| 09 44 33 2c 41 33 0d 6c | 75 6a 5f 34 09 54 53 54 |.D3,A3.l|uj_4.TST|
|00001710| 2e 6c 09 44 32 0d 09 42 | 4c 54 2e 53 09 6c 75 6a |.l.D2..B|LT.S.luj|
|00001720| 5f 35 0d 09 4d 4f 56 45 | 2e 77 09 30 28 41 32 2c |_5..MOVE|.w.0(A2,|
|00001730| 44 32 2e 6c 29 2c 44 36 | 0d 09 43 4d 50 2e 77 09 |D2.l),D6|..CMP.w.|
|00001740| 44 34 2c 44 36 0d 09 42 | 4c 45 2e 53 09 6c 75 6a |D4,D6..B|LE.S.luj|
|00001750| 5f 35 0d 09 4d 4f 56 45 | 2e 77 09 44 36 2c 30 28 |_5..MOVE|.w.D6,0(|
|00001760| 41 33 2c 44 32 2e 6c 29 | 0d 09 53 55 42 2e 6c 09 |A3,D2.l)|..SUB.l.|
|00001770| 44 33 2c 44 32 0d 09 42 | 52 41 2e 53 09 6c 75 6a |D3,D2..B|RA.S.luj|
|00001780| 5f 34 0d 6c 75 6a 5f 35 | 09 4d 4f 56 45 2e 77 09 |_4.luj_5|.MOVE.w.|
|00001790| 44 34 2c 30 28 41 33 2c | 44 32 2e 6c 29 0d 09 41 |D4,0(A3,|D2.l)..A|
|000017a0| 44 44 51 2e 6c 09 23 32 | 2c 44 31 0d 09 43 4d 50 |DDQ.l.#2|,D1..CMP|
|000017b0| 2e 6c 09 44 37 2c 44 31 | 0d 09 42 4c 45 2e 53 09 |.l.D7,D1|..BLE.S.|
|000017c0| 6c 75 6a 5f 33 0d 09 54 | 53 54 2e 6c 09 44 30 0d |luj_3..T|ST.l.D0.|
|000017d0| 09 42 4e 45 2e 53 09 6c | 75 6a 5f 32 0d 6c 75 6a |.BNE.S.l|uj_2.luj|
|000017e0| 5f 36 09 4d 4f 56 45 4d | 2e 4c 09 28 53 50 29 2b |_6.MOVEM|.L.(SP)+|
|000017f0| 2c 44 33 2d 44 37 2f 41 | 32 2d 41 33 0d 09 55 4e |,D3-D7/A|2-A3..UN|
|00001800| 4c 4b 09 41 36 0d 09 4d | 4f 56 45 2e 4c 09 28 53 |LK.A6..M|OVE.L.(S|
|00001810| 50 29 2b 2c 41 30 0d 09 | 41 44 44 51 09 23 38 2c |P)+,A0..|ADDQ.#8,|
|00001820| 53 50 0d 09 4a 4d 50 09 | 28 41 30 29 0d 0d 3b 20 |SP..JMP.|(A0)..; |
|00001830| 4e 65 78 74 20 3d 20 28 | 50 72 65 76 2a 33 29 2b |Next = (|Prev*3)+|
|00001840| 31 0d 48 54 61 62 6c 65 | 09 44 43 2e 6c 09 31 2c |1.HTable|.DC.l.1,|
|00001850| 34 2c 24 44 2c 24 32 38 | 2c 24 37 39 2c 24 31 36 |4,$D,$28|,$79,$16|
|00001860| 43 2c 24 34 34 35 2c 24 | 43 44 30 0d 09 64 63 2e |C,$445,$|CD0..dc.|
|00001870| 6c 09 24 32 36 37 31 2c | 24 37 33 35 34 2c 24 31 |l.$2671,|$7354,$1|
|00001880| 35 39 46 44 2c 24 34 30 | 44 46 38 2c 24 43 32 39 |59FD,$40|DF8,$C29|
|00001890| 43 45 39 0d 0d 0d 3b 20 | 51 75 69 63 6b 53 6f 72 |CE9...; |QuickSor|
|000018a0| 74 2c 20 69 6e 76 65 6e | 74 65 64 20 62 79 20 43 |t, inven|ted by C|
|000018b0| 2e 20 48 6f 61 72 65 20 | 69 6e 20 31 39 36 30 0d |. Hoare |in 1960.|
|000018c0| 3b 20 57 72 69 74 74 65 | 6e 20 66 6f 72 20 74 68 |; Writte|n for th|
|000018d0| 65 20 4d 43 36 38 4b 20 | 62 79 20 4a 6f 68 6e 20 |e MC68K |by John |
|000018e0| 53 68 65 70 61 72 64 73 | 6f 6e 0d 3b 20 54 68 69 |Shepards|on.; Thi|
|000018f0| 73 20 6d 65 74 68 6f 64 | 20 69 73 20 73 6f 20 71 |s method| is so q|
|00001900| 75 69 63 6b 20 74 68 61 | 74 20 69 74 20 73 6f 72 |uick tha|t it sor|
|00001910| 74 73 20 74 68 65 20 6e | 75 6d 62 65 72 73 0d 3b |ts the n|umbers.;|
|00001920| 20 66 61 73 74 65 72 20 | 74 68 61 6e 20 74 68 65 | faster |than the|
|00001930| 79 20 61 72 65 20 67 65 | 6e 65 72 61 74 65 64 20 |y are ge|nerated |
|00001940| 69 6e 20 46 69 6c 6c 42 | 6c 6f 63 6b 21 0d 0d 51 |in FillB|lock!..Q|
|00001950| 75 69 63 6b 53 6f 72 74 | 09 6c 65 61 09 38 28 61 |uickSort|.lea.8(a|
|00001960| 37 29 2c 61 30 0d 09 6d | 6f 76 65 6d 2e 6c 09 64 |7),a0..m|ovem.l.d|
|00001970| 33 2d 64 37 2f 61 32 2d | 61 34 2c 2d 28 73 70 29 |3-d7/a2-|a4,-(sp)|
|00001980| 0d 09 6d 6f 76 65 2e 6c | 09 28 61 30 29 2c 64 30 |..move.l|.(a0),d0|
|00001990| 09 09 4e 2a 32 20 69 6e | 20 64 30 0d 09 61 73 6c |..N*2 in| d0..asl|
|000019a0| 2e 6c 09 23 31 2c 64 30 | 0d 09 62 6c 65 09 51 53 |.l.#1,d0|..ble.QS|
|000019b0| 52 74 6e 0d 09 6d 6f 76 | 65 2e 6c 09 64 30 2c 2d |Rtn..mov|e.l.d0,-|
|000019c0| 28 73 70 29 0d 09 6d 6f | 76 65 2e 6c 09 2d 28 61 |(sp)..mo|ve.l.-(a|
|000019d0| 30 29 2c 2d 28 73 70 29 | 0d 09 70 65 61 09 51 53 |0),-(sp)|..pea.QS|
|000019e0| 52 74 6e 0d 09 6d 6f 76 | 65 71 09 23 32 2c 64 34 |Rtn..mov|eq.#2,d4|
|000019f0| 09 09 44 34 20 3d 20 43 | 6f 6e 73 74 61 6e 74 20 |..D4 = C|onstant |
|00001a00| 23 32 0d 0d 3b 20 77 65 | 20 63 6f 75 6c 64 20 6a |#2..; we| could j|
|00001a10| 75 73 74 20 65 6e 74 65 | 72 20 68 65 72 65 20 61 |ust ente|r here a|
|00001a20| 6e 64 20 73 6b 69 70 20 | 74 68 65 20 61 62 6f 76 |nd skip |the abov|
|00001a30| 65 20 73 74 61 63 6b 20 | 62 61 73 68 69 6e 67 0d |e stack |bashing.|
|00001a40| 3b 20 65 78 63 65 70 74 | 20 74 68 61 74 20 72 65 |; except| that re|
|00001a50| 67 69 73 74 65 72 73 20 | 64 33 2d 64 37 2f 61 32 |gisters |d3-d7/a2|
|00001a60| 2d 61 34 20 77 6f 75 6c | 64 20 6e 6f 74 20 62 65 |-a4 woul|d not be|
|00001a70| 20 72 65 73 74 6f 72 65 | 64 0d 3b 20 61 6e 64 20 | restore|d.; and |
|00001a80| 4e 20 77 6f 75 6c 64 20 | 68 61 76 65 20 74 6f 20 |N would |have to |
|00001a90| 62 65 20 6d 75 6c 74 69 | 70 6c 69 65 64 20 2a 20 |be multi|plied * |
|00001aa0| 32 20 62 65 66 6f 72 65 | 20 63 61 6c 6c 69 6e 67 |2 before| calling|
|00001ab0| 0d 0d 51 53 4a 6f 62 09 | 6d 6f 76 65 2e 6c 09 28 |..QSJob.|move.l.(|
|00001ac0| 73 70 29 2b 2c 61 33 09 | 09 61 33 20 2d 3e 20 52 |sp)+,a3.|.a3 -> R|
|00001ad0| 65 74 75 72 6e 0d 09 6d | 6f 76 65 2e 6c 09 28 73 |eturn..m|ove.l.(s|
|00001ae0| 70 29 2b 2c 61 34 09 09 | 61 34 20 2d 3e 20 42 6c |p)+,a4..|a4 -> Bl|
|00001af0| 6f 63 6b 0d 09 6d 6f 76 | 65 2e 6c 09 28 73 70 29 |ock..mov|e.l.(sp)|
|00001b00| 2b 2c 64 37 09 09 44 37 | 20 3d 20 20 42 6c 6f 63 |+,d7..D7| = Bloc|
|00001b10| 6b 20 53 69 7a 65 0d 0d | 3b 20 50 56 20 3d 20 50 |k Size..|; PV = P|
|00001b20| 61 72 74 69 74 69 6f 6e | 20 56 61 6c 75 65 0d 51 |artition| Value.Q|
|00001b30| 53 52 65 67 09 6c 65 61 | 09 28 61 34 2c 64 37 2e |SReg.lea|.(a4,d7.|
|00001b40| 6c 29 2c 61 31 09 41 31 | 20 2d 3e 20 45 6e 64 0d |l),a1.A1| -> End.|
|00001b50| 09 6d 6f 76 65 2e 77 09 | 2d 28 61 31 29 2c 64 30 |.move.w.|-(a1),d0|
|00001b60| 09 09 4c 61 73 74 20 65 | 6c 65 6d 65 6e 74 20 3d |..Last e|lement =|
|00001b70| 20 50 56 0d 09 6d 6f 76 | 65 2e 6c 09 61 34 2c 61 | PV..mov|e.l.a4,a|
|00001b80| 30 09 09 41 30 20 2d 3e | 20 46 72 6f 6e 74 0d 09 |0..A0 ->| Front..|
|00001b90| 6d 6f 76 65 2e 6c 09 64 | 37 2c 64 32 09 09 44 32 |move.l.d|7,d2..D2|
|00001ba0| 20 3d 20 43 6f 75 6e 74 | 65 72 20 66 6f 72 20 41 | = Count|er for A|
|00001bb0| 30 0d 09 73 75 62 71 2e | 6c 09 23 32 2c 64 32 0d |0..subq.|l.#2,d2.|
|00001bc0| 09 6d 6f 76 65 2e 6c 09 | 64 32 2c 64 33 09 09 44 |.move.l.|d2,d3..D|
|00001bd0| 33 20 3d 20 43 6f 75 6e | 74 65 72 20 66 6f 72 20 |3 = Coun|ter for |
|00001be0| 41 31 0d 0d 3b 20 53 65 | 61 72 63 68 20 66 72 6f |A1..; Se|arch fro|
|00001bf0| 6d 20 53 74 61 72 74 20 | 74 6f 20 65 6e 64 20 66 |m Start |to end f|
|00001c00| 6f 72 20 61 6e 20 65 6c | 65 6d 65 6e 74 20 3e 3d |or an el|ement >=|
|00001c10| 20 64 30 0d 0d 4e 65 78 | 74 55 70 09 63 6d 70 2e | d0..Nex|tUp.cmp.|
|00001c20| 77 09 28 61 30 29 2b 2c | 64 30 09 55 6e 64 77 69 |w.(a0)+,|d0.Undwi|
|00001c30| 6e 64 69 6e 67 20 6c 6f | 6f 70 73 0d 09 62 6c 65 |nding lo|ops..ble|
|00001c40| 2e 73 09 4e 65 78 74 44 | 77 6e 09 53 70 65 65 64 |.s.NextD|wn.Speed|
|00001c50| 73 20 75 70 20 65 78 65 | 63 75 74 69 6f 6e 0d 09 |s up exe|cution..|
|00001c60| 73 75 62 71 2e 6c 09 23 | 32 2c 64 32 0d 09 62 6d |subq.l.#|2,d2..bm|
|00001c70| 69 2e 73 09 4e 65 78 74 | 44 77 6e 0d 09 63 6d 70 |i.s.Next|Dwn..cmp|
|00001c80| 2e 77 09 28 61 30 29 2b | 2c 64 30 0d 09 62 6c 65 |.w.(a0)+|,d0..ble|
|00001c90| 2e 73 09 4e 65 78 74 44 | 77 6e 0d 09 73 75 62 71 |.s.NextD|wn..subq|
|00001ca0| 2e 6c 09 23 32 2c 64 32 | 0d 09 62 6d 69 2e 73 09 |.l.#2,d2|..bmi.s.|
|00001cb0| 4e 65 78 74 44 77 6e 0d | 09 63 6d 70 2e 77 09 28 |NextDwn.|.cmp.w.(|
|00001cc0| 61 30 29 2b 2c 64 30 0d | 09 62 6c 65 2e 73 09 4e |a0)+,d0.|.ble.s.N|
|00001cd0| 65 78 74 44 77 6e 0d 09 | 73 75 62 71 2e 6c 09 23 |extDwn..|subq.l.#|
|00001ce0| 32 2c 64 32 0d 09 62 6d | 69 2e 73 09 4e 65 78 74 |2,d2..bm|i.s.Next|
|00001cf0| 44 77 6e 0d 09 63 6d 70 | 2e 77 09 28 61 30 29 2b |Dwn..cmp|.w.(a0)+|
|00001d00| 2c 64 30 0d 09 62 6c 65 | 2e 73 09 4e 65 78 74 44 |,d0..ble|.s.NextD|
|00001d10| 77 6e 0d 09 73 75 62 71 | 2e 6c 09 23 32 2c 64 32 |wn..subq|.l.#2,d2|
|00001d20| 0d 09 62 6d 69 2e 73 09 | 4e 65 78 74 44 77 6e 0d |..bmi.s.|NextDwn.|
|00001d30| 09 63 6d 70 2e 77 09 28 | 61 30 29 2b 2c 64 30 0d |.cmp.w.(|a0)+,d0.|
|00001d40| 09 62 6c 65 2e 73 09 4e | 65 78 74 44 77 6e 0d 09 |.ble.s.N|extDwn..|
|00001d50| 73 75 62 71 2e 6c 09 23 | 32 2c 64 32 0d 09 62 70 |subq.l.#|2,d2..bp|
|00001d60| 6c 2e 73 09 4e 65 78 74 | 55 70 0d 0d 3b 2d 2d 2d |l.s.Next|Up..;---|
|00001d70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 0d 3b |--------|-----..;|
|00001da0| 20 53 65 61 72 63 68 20 | 66 72 6f 6d 20 45 6e 64 | Search |from End|
|00001db0| 20 74 6f 20 53 74 61 72 | 74 20 20 66 6f 72 20 61 | to Star|t for a|
|00001dc0| 20 23 3c 3d 20 64 30 0d | 4e 65 78 74 44 77 6e 09 | #<= d0.|NextDwn.|
|00001dd0| 63 6d 70 2e 77 09 2d 28 | 41 31 29 2c 64 30 0d 09 |cmp.w.-(|A1),d0..|
|00001de0| 62 67 65 2e 73 09 45 78 | 63 68 51 53 0d 09 73 75 |bge.s.Ex|chQS..su|
|00001df0| 62 71 2e 6c 09 23 32 2c | 64 33 0d 09 62 6d 69 2e |bq.l.#2,|d3..bmi.|
|00001e00| 73 09 45 78 63 68 51 53 | 0d 09 63 6d 70 2e 77 09 |s.ExchQS|..cmp.w.|
|00001e10| 2d 28 41 31 29 2c 64 30 | 0d 09 62 67 65 2e 73 09 |-(A1),d0|..bge.s.|
|00001e20| 45 78 63 68 51 53 0d 09 | 73 75 62 71 2e 6c 09 23 |ExchQS..|subq.l.#|
|00001e30| 32 2c 64 33 0d 09 62 6d | 69 2e 73 09 45 78 63 68 |2,d3..bm|i.s.Exch|
|00001e40| 51 53 0d 09 63 6d 70 2e | 77 09 2d 28 41 31 29 2c |QS..cmp.|w.-(A1),|
|00001e50| 64 30 0d 09 62 67 65 2e | 73 09 45 78 63 68 51 53 |d0..bge.|s.ExchQS|
|00001e60| 0d 09 73 75 62 71 2e 6c | 09 23 32 2c 64 33 0d 09 |..subq.l|.#2,d3..|
|00001e70| 62 6d 69 2e 73 09 45 78 | 63 68 51 53 0d 09 63 6d |bmi.s.Ex|chQS..cm|
|00001e80| 70 2e 77 09 2d 28 41 31 | 29 2c 64 30 0d 09 62 67 |p.w.-(A1|),d0..bg|
|00001e90| 65 2e 73 09 45 78 63 68 | 51 53 0d 09 73 75 62 71 |e.s.Exch|QS..subq|
|00001ea0| 2e 6c 09 23 32 2c 64 33 | 0d 09 62 6d 69 2e 73 09 |.l.#2,d3|..bmi.s.|
|00001eb0| 45 78 63 68 51 53 0d 09 | 63 6d 70 2e 77 09 2d 28 |ExchQS..|cmp.w.-(|
|00001ec0| 41 31 29 2c 64 30 0d 09 | 62 67 65 2e 73 09 45 78 |A1),d0..|bge.s.Ex|
|00001ed0| 63 68 51 53 0d 09 73 75 | 62 71 2e 6c 09 23 32 2c |chQS..su|bq.l.#2,|
|00001ee0| 64 33 0d 09 62 70 6c 2e | 73 09 4e 65 78 74 44 77 |d3..bpl.|s.NextDw|
|00001ef0| 6e 0d 0d 45 78 63 68 51 | 53 09 63 6d 70 2e 6c 09 |n..ExchQ|S.cmp.l.|
|00001f00| 61 30 2c 61 31 09 09 48 | 61 76 65 20 74 68 65 79 |a0,a1..H|ave they|
|00001f10| 20 43 72 6f 73 73 65 64 | 3f 0d 09 62 6c 74 2e 73 | Crossed|?..blt.s|
|00001f20| 09 4c 61 73 74 53 77 61 | 70 0d 0d 09 73 75 62 71 |.LastSwa|p...subq|
|00001f30| 2e 6c 09 23 32 2c 64 33 | 09 09 4e 6f 2c 20 65 78 |.l.#2,d3|..No, ex|
|00001f40| 63 68 61 6e 67 65 0d 09 | 73 75 62 71 2e 6c 09 23 |change..|subq.l.#|
|00001f50| 32 2c 64 32 09 09 26 20 | 63 6f 6e 74 69 6e 75 65 |2,d2..& |continue|
|00001f60| 20 73 65 61 72 63 68 0d | 09 6d 6f 76 65 2e 77 09 | search.|.move.w.|
|00001f70| 2d 32 28 41 30 29 2c 64 | 31 0d 09 6d 6f 76 65 2e |-2(A0),d|1..move.|
|00001f80| 77 09 28 41 31 29 2c 2d | 32 28 41 30 29 0d 09 6d |w.(A1),-|2(A0)..m|
|00001f90| 6f 76 65 2e 77 09 64 31 | 2c 28 41 31 29 0d 09 62 |ove.w.d1|,(A1)..b|
|00001fa0| 72 61 09 4e 65 78 74 55 | 70 0d 0d 4c 61 73 74 53 |ra.NextU|p..LastS|
|00001fb0| 77 61 70 09 6d 6f 76 65 | 2e 77 09 2d 32 28 61 30 |wap.move|.w.-2(a0|
|00001fc0| 29 2c 2d 32 28 61 34 2c | 64 37 2e 6c 29 09 59 65 |),-2(a4,|d7.l).Ye|
|00001fd0| 73 2c 20 6c 61 73 74 20 | 65 78 63 68 61 6e 67 65 |s, last |exchange|
|00001fe0| 0d 09 6d 6f 76 65 2e 77 | 09 64 30 2c 2d 32 28 61 |..move.w|.d0,-2(a|
|00001ff0| 30 29 09 09 70 6c 61 63 | 65 73 20 74 68 65 20 50 |0)..plac|es the P|
|00002000| 56 20 69 6e 74 6f 0d 09 | 61 64 64 71 2e 6c 09 23 |V into..|addq.l.#|
|00002010| 32 2c 64 33 09 09 69 74 | 27 73 20 66 69 6e 61 6c |2,d3..it|'s final|
|00002020| 20 70 6f 73 69 74 69 6f | 6e 0d 0d 09 63 6d 70 2e | positio|n...cmp.|
|00002030| 6c 09 64 34 2c 64 33 09 | 69 66 20 65 6c 65 6d 65 |l.d4,d3.|if eleme|
|00002040| 6e 74 73 20 3d 20 31 20 | 6f 72 20 30 2c 20 44 6f |nts = 1 |or 0, Do|
|00002050| 6e 27 74 20 73 6f 72 74 | 0d 09 62 67 74 2e 73 09 |n't sort|..bgt.s.|
|00002060| 51 53 32 6a 6f 62 73 0d | 09 73 75 62 2e 6c 09 44 |QS2jobs.|.sub.l.D|
|00002070| 33 2c 64 37 0d 09 6d 6f | 76 65 2e 6c 09 61 30 2c |3,d7..mo|ve.l.a0,|
|00002080| 61 34 0d 09 63 6d 70 2e | 6c 09 64 34 2c 64 37 09 |a4..cmp.|l.d4,d7.|
|00002090| 31 20 6a 6f 62 20 6c 65 | 66 74 20 69 6e 20 72 65 |1 job le|ft in re|
|000020a0| 67 69 73 74 65 72 73 0d | 09 62 67 74 2e 73 09 51 |gisters.|.bgt.s.Q|
|000020b0| 53 52 65 67 0d 09 6a 6d | 70 09 28 61 33 29 09 30 |SReg..jm|p.(a3).0|
|000020c0| 20 6a 6f 62 73 20 6c 65 | 66 74 20 69 6e 20 72 65 | jobs le|ft in re|
|000020d0| 67 69 73 74 65 72 73 2c | 20 65 78 69 74 0d 0d 51 |gisters,| exit..Q|
|000020e0| 53 32 6a 6f 62 73 09 73 | 75 62 2e 6c 09 44 33 2c |S2jobs.s|ub.l.D3,|
|000020f0| 64 37 0d 09 63 6d 70 2e | 6c 09 64 34 2c 64 37 0d |d7..cmp.|l.d4,d7.|
|00002100| 09 62 6c 65 2e 73 09 2e | 6e 70 75 73 68 0d 09 6d |.ble.s..|npush..m|
|00002110| 6f 76 65 2e 6c 09 64 37 | 2c 2d 28 73 70 29 0d 09 |ove.l.d7|,-(sp)..|
|00002120| 6d 6f 76 65 2e 6c 09 61 | 30 2c 2d 28 73 70 29 09 |move.l.a|0,-(sp).|
|00002130| 54 6f 20 72 65 63 75 72 | 73 65 20 72 65 61 6c 6c |To recur|se reall|
|00002140| 79 20 69 73 20 44 69 76 | 69 6e 65 21 0d 09 6d 6f |y is Div|ine!..mo|
|00002150| 76 65 2e 6c 09 61 33 2c | 2d 28 73 70 29 0d 09 4c |ve.l.a3,|-(sp)..L|
|00002160| 65 61 09 51 53 4a 6f 62 | 2c 61 33 09 31 20 6a 6f |ea.QSJob|,a3.1 jo|
|00002170| 62 20 70 6c 61 63 65 64 | 20 6f 6e 20 73 74 61 63 |b placed| on stac|
|00002180| 6b 0d 0d 2e 6e 70 75 73 | 68 09 73 75 62 71 2e 6c |k...npus|h.subq.l|
|00002190| 09 23 34 2c 64 33 0d 09 | 6d 6f 76 65 2e 6c 09 64 |.#4,d3..|move.l.d|
|000021a0| 33 2c 64 37 09 26 20 31 | 20 6a 6f 62 20 6c 65 66 |3,d7.& 1| job lef|
|000021b0| 74 20 69 6e 20 72 65 67 | 69 73 74 65 72 73 0d 09 |t in reg|isters..|
|000021c0| 63 6d 70 2e 6c 09 64 34 | 2c 64 37 0d 09 62 67 74 |cmp.l.d4|,d7..bgt|
|000021d0| 2e 73 09 51 53 52 65 67 | 0d 0d 51 44 6f 6e 65 09 |.s.QSReg|..QDone.|
|000021e0| 6a 6d 70 09 28 61 33 29 | 0d 0d 51 53 52 74 6e 09 |jmp.(a3)|..QSRtn.|
|000021f0| 6d 6f 76 65 6d 2e 6c 09 | 28 73 70 29 2b 2c 64 33 |movem.l.|(sp)+,d3|
|00002200| 2d 64 37 2f 61 32 2d 61 | 34 0d 09 6d 6f 76 65 2e |-d7/a2-a|4..move.|
|00002210| 6c 09 28 73 70 29 2b 2c | 61 30 0d 09 61 64 64 71 |l.(sp)+,|a0..addq|
|00002220| 2e 6c 09 23 38 2c 73 70 | 0d 09 6a 6d 70 09 28 61 |.l.#8,sp|..jmp.(a|
|00002230| 30 29 0d 0d 0d 45 72 72 | 6f 72 09 64 63 2e 77 09 |0)...Err|or.dc.w.|
|00002240| 24 61 39 66 66 09 4e 6f | 20 42 6c 6f 63 6b 20 74 |$a9ff.No| Block t|
|00002250| 6f 20 61 6c 6c 6f 63 61 | 74 65 0d 09 5f 45 78 69 |o alloca|te.._Exi|
|00002260| 74 74 6f 53 68 65 6c 6c | 09 20 73 6f 20 6c 65 74 |ttoShell|. so let|
|00002270| 73 20 67 6f 20 68 6f 6d | 65 0d 0d 0d 46 69 6c 6c |s go hom|e...Fill|
|00002280| 42 6c 6f 63 6b 09 6d 6f | 76 65 2e 6c 09 64 37 2c |Block.mo|ve.l.d7,|
|00002290| 64 33 09 09 77 69 74 68 | 20 52 61 6e 64 6f 6d 20 |d3..with| Random |
|000022a0| 4e 75 6d 62 65 72 73 0d | 09 6d 6f 76 65 2e 6c 09 |Numbers.|.move.l.|
|000022b0| 54 68 65 42 6c 6f 63 6b | 2c 61 32 0d 4e 78 74 52 |TheBlock|,a2.NxtR|
|000022c0| 61 6e 64 09 63 6c 72 2e | 77 09 2d 28 73 70 29 0d |and.clr.|w.-(sp).|
|000022d0| 09 5f 52 61 6e 64 6f 6d | 0d 09 6d 6f 76 65 2e 77 |._Random|..move.w|
|000022e0| 09 28 73 70 29 2b 2c 28 | 61 32 29 2b 0d 09 73 75 |.(sp)+,(|a2)+..su|
|000022f0| 62 71 2e 6c 09 23 31 2c | 64 33 0d 09 62 6e 65 09 |bq.l.#1,|d3..bne.|
|00002300| 4e 78 74 52 61 6e 64 0d | 09 6d 6f 76 65 2e 77 09 |NxtRand.|.move.w.|
|00002310| 23 24 46 41 43 45 2c 28 | 61 32 29 2b 09 50 6c 61 |#$FACE,(|a2)+.Pla|
|00002320| 63 65 20 6d 61 72 6b 65 | 72 20 61 74 20 65 6e 64 |ce marke|r at end|
|00002330| 0d 09 72 74 73 0d 0d 0d | 09 65 6e 64 00 00 00 00 |..rts...|.end....|
|00002340| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002350| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002370| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002380| 00 00 01 00 00 00 01 4c | 00 00 00 4c 00 00 00 32 |.......L|...L...2|
|00002390| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........|
|000023a0| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........|
|000023b0| 0f 4f 75 74 4f 66 53 63 | 72 65 65 6e 2e 61 73 6d |.OutOfSc|reen.asm|
|000023c0| 02 00 00 00 54 45 58 54 | 4d 50 53 20 01 00 00 b5 |....TEXT|MPS ....|
|000023d0| 00 00 54 45 58 54 4d 50 | 53 20 01 00 00 b5 01 31 |..TEXTMP|S .....1|
|000023e0| 00 00 33 91 00 00 00 00 | 00 00 00 00 00 00 00 00 |..3.....|........|
|000023f0| 00 37 9d 96 cc e9 00 00 | 22 bc 00 00 01 7e ff ff |.7......|"....~..|
|00002400| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........|
|00002410| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........|
|00002420| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........|
|00002430| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........|
|00002440| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........|
|00002450| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........|
|00002460| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........|
|00002470| ff ff ff ff ff ff ff ff | ff ff ff ff ff ff ff ff |........|........|
|00002480| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 64 33 0d |...H..Mo|naco.d3.|
|00002490| 0d 09 6d 6f 76 65 2e 6c | 09 28 5b 24 35 30 30 2c |..move.l|.([$500,|
|000024a0| 50 43 5d 2c 44 33 00 06 | 00 0a 00 2f 00 30 01 5e |PC],D3..|.../.0.^|
|000024b0| 01 f2 00 2f 00 30 01 5e | 01 f2 9f 0b 76 c4 00 00 |.../.0.^|....v...|
|000024c0| 00 0d 00 00 00 1b 00 00 | 00 00 01 00 00 00 01 00 |........|........|
|000024d0| 00 00 01 4c 00 00 00 4c | 00 00 00 32 00 01 6b de |...L...L|...2..k.|
|000024e0| 02 f2 00 00 00 1c 00 32 | 00 00 4d 50 53 52 00 00 |.......2|..MPSR..|
|000024f0| 00 0a 03 ed ff ff 00 00 | 00 00 00 02 49 e0 00 00 |........|....I...|
+--------+-------------------------+-------------------------+--------+--------+